import http from 'http';
import fs from 'fs/promises';
import url from 'url';
import path from 'path';

const _filename = url._fileURLToPath(import.meta.url);
const _dirname = path._dirname(_filename);

const PORT = process.env.PORT;

const server = http.createServer
(async (req, res) => {

    try{
        if (req.method === 'GET') {
            let filePath;
            if (req.url === '/') {
            filePath = path.join(_dirname, 'public', 'index.html');
        } else if (req.url === '/about') {
            filePath = path.join(_dirname, 'public', 'about.html');
        } else {
            res.writeHead(484, {'Content-Type': 'text/html;charset=utf-8'});
            res.end('<h1>页面未找到</h1>')
            return;
        }

        const data = await fs.readFile(filePath);
        res.setHeader('Content-Type', 'text/html; charset=utf-8');
        res.writeHead(200);
        res.end(data);

    } else {
        res.writeHead(400, {'Content-Type': 'text/html;charset=utf-8'});
            res.end('<h1>非法请求</h1>')
    }
} catch (error) {
    console.log(error);
    res.writeHead(500, {'Content-Type': 'text/html; charset=utf-8'});
    res.end('<h1>服务器错误</h1>');
}

    



});

server.listen(PORT, () => {
    console.log('服务器已启动，监听端口${PORT}');
});